import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.List;
/**
 * Clase que sirve para guardarl el marcador del jugador y calcular el puntage de cada flecha lanzada.
 * Esta clase tambien actualiza la puntuacion del jugador 
 * 
 * @author Gabriel 
 * @version 1.0
 */
public class Puntos extends Texto
{
    
    private int calif; //variable para indicar los puntos
    
    
    public Puntos()
    {
        super("Calificacion");
        calif = 0;
        updateImage("" +calif);
    }
    
    /**
     * Este metodo actualiza la calificacion
     */
    public void addCalif(int num)
    {
        calif += num;
        updateImage(""+calif);
    }
    
   
    /**
     * Este metodo simplemente regresa la calificacion
     */
    public int getCalif()
    {
        return calif;
    }
    
    /**
     * Este metodo calcula la calificacion de cada flecha lanzada
     */
    public void checkPts(int y)
    {
        List<Blanco> b = getWorld().getObjects(Blanco.class);
        Actor objBlanco = b.get(0);
       
        double yB = objBlanco.getY();
        double franja = 7.1;
        
        
        
        if(y > yB - franja && y < yB + franja)
            addCalif(10);
        if((y>yB-2*franja && y<yB-franja) || (y<yB+2*franja && y>yB+franja))
            addCalif(9);
        if((y>yB-3*franja && y<yB-2*franja) || (y<yB+3*franja && y>yB+2*franja))
            addCalif(8);
        if((y>yB-4*franja && y<yB-3*franja) || (y<yB+4*franja && y>yB+3*franja))
            addCalif(7);
        if((y>yB-5*franja && y<yB-4*franja) || (y<yB+5*franja && y>yB+4*franja))
            addCalif(6);
        if((y>yB-6*franja && y<yB-5*franja) || (y<yB+6*franja && y>yB+5*franja))
            addCalif(5);
        if((y>yB-7*franja && y<yB-6*franja) || (y<yB+7*franja && y>yB+6*franja))
            addCalif(4);
        if((y>yB-8*franja && y<yB-7*franja) || (y<yB+8*franja && y>yB+7*franja))
            addCalif(3);
        if((y>yB-9*franja && y<yB-8*franja) || (y<yB+9*franja && y>yB+8*franja))
            addCalif(2);
        if((y>yB-10*franja && y<yB-9*franja) || (y<yB+10*franja && y>yB+9*franja))
            addCalif(1);
        if((y>yB-11*franja && y<yB-10*franja) || (y<yB+11*franja && y>yB+10*franja))
            addCalif(0);
    }
}
